#include<stdio.h>
int d[2][6000],m,n;
int Lab[5000];
long count=0;
void input(){
    int u,v,i;
    scanf("%d%d",&n,&m); 
    for(i=1;i<=m;i++){
        scanf("%d%d",&u,&v);
        d[1][i]=u;
        d[0][i]=v;
    }
}
int getRoot(int r){
    while(Lab[r]>0)
        r=Lab[r];
    return r;
}
void Union(int r1,int r2){
    int x;
    x=Lab[r1]+Lab[r2];
    if(Lab[r1]>Lab[r2]){
        Lab[r1]=r2;
        Lab[r2]=x;
    }else{
        Lab[r2]=r1;
        Lab[r1]=x;
    }
}  
void init(){
    int i;
    for(i=1;i<=n;i++){
        Lab[i]=-1;
    }
}
long process(){
    long count=0,u,v,i;
    for(i=1;i<=m;i++){
        u=getRoot(d[0][i]);
        v=getRoot(d[1][i]);
        if(u==v)count++;
        else Union(u,v);
    }
    return count;
}
int main(){
    input();
    init();
    printf("%ld",process());
    return 0;
}
